package com.logic.landseaserver.service;


import java.util.List;
import java.util.Map;

import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.common.exception.LandseaException;
import com.logic.landseaserver.domain.Coupon;
import com.logic.landseaserver.ws.dto.CouponDTO;
import com.logic.landseaserver.ws.dto.CouponGeneralDTO;
import com.logic.landseaserver.ws.dto.CouponPersonalDTO;
import com.logic.landseaserver.ws.request.CouponPutRecordReq;
import com.logic.landseaserver.ws.request.CustomerConditionReq;
import com.logic.landseaserver.ws.response.CouponPutRecordResp;
import com.logic.landseaserver.ws.response.CouponUsedResp;
import com.logic.landseaserver.ws.response.TenantDetailResp;


public interface IAuthorizationCodeService
{
    TenantDetailResp queryTenantDetail(CustomerConditionReq conditionReq)throws LandseaException,Exception;

    Map<String, Object> getAuthorizedItem();

    void insertCoupon(Coupon coupon) throws LandseaException;

    void editCoupon(Coupon coupon)throws LandseaException;

    void deleteCoupon(Integer id)throws LandseaException;

    List<CouponPersonalDTO> queryPersonByPage(QueryUtil queryUtil);

    List<CouponGeneralDTO> queryGeneralByPage(QueryUtil queryUtil);

    CouponDTO queryCoupon(Integer id);

    List<CouponPutRecordResp> queryCouponPutRecord(QueryUtil queryUtil);

    List<CouponUsedResp> queryCouponUsedrecord(QueryUtil queryUtil);

    void insertCouponPutRecord(CouponPutRecordReq req)throws LandseaException;

    Map<String, Object> getAuthCodeList();

//    List<ExpenseTypeResp> queryExpenseType(String projectIds);

    Map<String, Object> getAuthorizedFees();

//    List<ExpenseTypeResp> queryExpenseTypeForInsert(AuthFeeConditionReq conditionReq);
}
